// 用于创建 Vuex 中最为核心的store
import Vue from 'vue'

// 引入 vuex
import Vuex from 'vuex'

// actions 响应组件的动作
const actions = {
    /* add(context,value){
        context.commit('ADD',value)
    },
    decrement(context,value){
        context.commit('DECREMENT',value)
    }, */
    incrementOdd(context,value){
        if(context.state.sum % 2){
            context.commit('ADD',value)
        }
    },
    incrementWait(context,value){
        setTimeout(()=>{
            context.commit('ADD',value)
        },1000)
    },
}

// 操作数据 state
const mutations ={
    ADD(state,value){
        state.sum += value
    },
    DECREMENT(state,value){
        state.sum -= value
    },
   
}

const state = {
    sum:0, // 当前的和
    school:"浙大",
    addr:"浙江杭州"
}

// 用于加工 state的值
const getters = {
    bigSum(state){
        return state.sum * 10
    }
}

// 使用 vuex 插件
Vue.use(Vuex)

export default new Vuex.Store({
    actions,
    mutations,
    state,
    getters,
})
